export const fixedMixin = {
  mounted() {
    window.addEventListener('scroll', this.debounceHandler, true) // 监听（绑定）滚轮滚动事件
  },
  methods: {
    handleScroll() {
      const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop // 滚动条偏移量
      const offsetTop = document.querySelector('#samplesFixed').offsetTop // 要滚动到顶部吸附的元素的偏移量
      console.log('scrollTop', scrollTop)
      console.log('offsetTop', offsetTop)
      this.isFixed = scrollTop > offsetTop // 如果滚动到顶部了，this.isFixed就为true
    },
    debounceHandler() {
    //   this.handleScroll()
    //   this.throttle(() => {
      this.handleScroll()
    //   }, 200)
    },
    // 节流函数
    throttle(fn, de) {
      var lastTime
      var timer
      var delay = de || 200
      return function() {
        var args = arguments
        // 记录当前函数触发的时间
        var nowTime = Date.now()
        if (lastTime && nowTime - lastTime < delay) {
          clearTimeout(timer)
          timer = setTimeout(function() {
            // 记录上一次函数触发的时间
            lastTime = nowTime
            // 修正this指向问题
            fn.apply(this, args)
          }, delay)
        } else {
          lastTime = nowTime
          fn.apply(this, args)
        }
      }
    }
  }
}
